const axios = require('axios');

// 简单的架构验证测试

async function testArchitecture() {
    console.log('=== 系统架构验证 ===\n');
    
    // 1. 验证PLC服务访问控制
    console.log('1. PLC服务访问控制验证:');
    try {
        await axios.post('http://localhost:3002/api/plc/read', {
            variables: ['DB122,X0.6']
        });
        console.log('   ❌ 应该被拒绝但成功了');
    } catch (error) {
        if (error.response && error.response.status === 403) {
            console.log('   ✅ 直接访问PLC被正确拒绝');
        } else {
            console.log('   ⚠️  其他错误:', error.message);
        }
    }
    
    console.log('\n2. 队列服务访问验证:');
    try {
        const response = await axios.post('http://localhost:3003/api/queue/task', {
            task: {
                type: 'plc-read',
                variables: ['DB122,X0.6']
            }
        });
        console.log('   ✅ 通过队列服务访问PLC成功');
    } catch (error) {
        console.log('   ❌ 通过队列服务访问失败:', error.message);
    }
    
    console.log('\n=== 验证完成 ===');
}

if (require.main === module) {
    testArchitecture();
}